The Internet, as it has grown considerably in size and popularity, supports a significant number and types of applications. Diverse applications, such as streaming a video, downloading music, voice-over-IP, and web-based multi-user computer games or conferences are all available to users via the Internet.
As applications become more complex and demanding, it has become a challenge to effectively deliver the applications to users while maintaining quality of service. One of the key obstacles is the limited amount of bandwidth available. Applications, such as multimedia applications and real-time voice and video applications, are highly sensitive to transmission delays. Traditional unicast delivery techniques may not be able to meet the transmission demands of these types of applications and are not scalable to efficiently meet the demands of a large number of service providers and users.
The challenge of effectively delivering applications to users is further exasperated with respect wireless computing devices. Mobile devices may have a communication interface connecting to the Internet via a long range but low speed and bursty wide area network (WAN) link, such as a cellular link. Recently, there has been a lot of interest in delivering services to mobile devices, such as streaming video and other real-time applications, over cellular links. However, the cellular links have bursty packet losses and limited bandwidth that make it difficult to provide these services to the mobile devices without incurring degradation in quality. Furthermore, the user may incur heavy costs when using a cellular link for an extended period of time.